<?php
class Atur_jabatan extends CI_Model 
{

	function __construct()
	{
		parent::__construct();
	}

	function udah_diatur() // Jabatan udah diatur dan hanya masa sekarang (mulai <= sekarang AND akhir >= sekarang)
	{
		$this->db->select('a_jabatan.*,m_pegawai.*,m_jabatan.*');
		$this->db->from('a_jabatan');
		$this->db->join('m_pegawai','m_pegawai.id_m_pegawai = a_jabatan.id_m_pegawai');
		$this->db->join('m_jabatan','m_jabatan.id_m_jabatan = a_jabatan.id_m_jabatan');
		$this->db->where('mulai <= NOW() AND akhir >= NOW()');
		$this ->db->order_by('a_jabatan.id_m_jabatan');

		$query = $this->db->get();		
		return $query->result();
	}

	function blm_diatur() // Jabatan yang belum diatur, yaitu jabatan yang tidak termasuk dalam mulai <= sekarang AND akhir >= sekarang
	{
		$this->db->select('*');
		$this->db->from('m_jabatan');
		$this->db->where('id_m_jabatan NOT IN (
			SELECT id_m_jabatan FROM a_jabatan
			WHERE 
			mulai <= NOW()
			AND
			akhir >= NOW()
		)');
		$this ->db->order_by('id_m_jabatan');

		$query = $this->db->get();		
		return $query->result();
	}

	function edit($id_a_jabatan)
	{
		$this->db->select('jabatan,a_jabatan.id_a_jabatan,a_jabatan.id_m_pegawai,a_jabatan.id_m_jabatan,mulai,akhir,');
		$this->db->from('a_jabatan');
		$this->db->join('m_pegawai','m_pegawai.id_m_pegawai = a_jabatan.id_m_pegawai');
		$this->db->join('m_jabatan','m_jabatan.id_m_jabatan = a_jabatan.id_m_jabatan');
		$this->db->where('id_a_jabatan',$id_a_jabatan);

		$query = $this->db->get();		
		return $query->result();
	}

	function jabatan($id_m_jabatan)
	{
		$this->db->select('jabatan,a_jabatan.id_a_jabatan,a_jabatan.id_m_pegawai,a_jabatan.id_m_jabatan,mulai,akhir,');
		$this->db->from('a_jabatan');
		$this->db->join('m_pegawai','m_pegawai.id_m_pegawai = a_jabatan.id_m_pegawai');
		$this->db->join('m_jabatan','m_jabatan.id_m_jabatan = a_jabatan.id_m_jabatan');
		$this->db->where('id_a_jabatan',$id_a_jabatan);

		$query = $this->db->get();		
		return $query->result();
	}

	function pegawai_no_jabatan($id_a_jabatan) // Ambil pegawai yang tidak mempunyai jabatan pd waktu sekarang dan id_a_jabatan != $id_a_jabatan
	{
		$this->db->select('*');
		$this->db->from('m_pegawai');
		$this->db->where('id_m_pegawai NOT IN(
			SELECT a_jabatan.id_m_pegawai 
			FROM a_jabatan
			JOIN m_pegawai ON m_pegawai.id_m_pegawai = a_jabatan.id_m_pegawai
			WHERE mulai <= NOW() AND akhir >= NOW()
			AND id_a_jabatan != '.$id_a_jabatan.'
		)');
		$this->db->order_by('nama_lengkap');
		
		$query = $this->db->get();		
		return $query->result();
	}

	function pegawai_no_jabatan2() // Ambil pegawai yang tidak mempunyai jabatan pd waktu sekarang
	{
		$this->db->select('*');
		$this->db->from('m_pegawai');
		$this->db->where('id_m_pegawai NOT IN(
			SELECT a_jabatan.id_m_pegawai 
			FROM a_jabatan
			JOIN m_pegawai ON m_pegawai.id_m_pegawai = a_jabatan.id_m_pegawai
			WHERE mulai <= NOW() AND akhir >= NOW()
		)');
		$this->db->order_by('nama_lengkap');
		
		$query = $this->db->get();		
		return $query->result();
	}

	function update($id_a_jabatan,$dataUpdate)
	{
		$this->db->where('id_a_jabatan', $id_a_jabatan);
		$update = $this->db->update('a_jabatan', $dataUpdate);
		return $update;
	}

	function save($dataInsert)
	{
		$query = $this->db->insert('a_jabatan', $dataInsert);
		return $query;
	}
}